#include "ShareSMemory.hpp"
#include "Time.hpp"
#include "Comm.hpp"
#include <iostream>

int main()
{
    // 获取key
    ssm.GetKey();

    // 获取共享内存
    ssm.GetSMemory();

    // 共享内存挂接到自己的地址空间中
    ssm.AttachSMemory();

    fifo.OpenPipeWrite(); // 写端打开

    // 通信
    struct data *strinfo = (struct data *)ssm.GetAddr(); // 获取共享内存地址

    // char ch = 'A';
    // std::string message;
    // while (ch <= 'Z')
    // {
    //     message+=ch;
    //     sleep(1);
    //     strcpy(strinfo->status,"最新");
    //     strcpy(strinfo->lasttime,Time().c_str());
    //     strcpy(strinfo->message,message.c_str());
    //     ch++;
    //     fifo.Singal();//写端通知写入完毕
    //     sleep(3);
    // }

    // 通信
    std::string message = "I am process A";
    strcpy(strinfo->status, "最新");
    strcpy(strinfo->lasttime, Time().c_str());
    strcpy(strinfo->message, message.c_str());
    fifo.Singal(); // 写端通知写入完毕
    sleep(3);

    // 去挂接
    ssm.DetachSMemory();

    // 删除共享内存
    ssm.DeleteSMemory();

    return 0;
}